package cn.dujc.superkid.api;

import java.util.List;

import cn.dujc.superkid.bean.AnswerListResult;
import cn.dujc.superkid.bean.ChannelEntity;
import cn.dujc.superkid.bean.ContactResult;
import cn.dujc.superkid.bean.CourseResult;
import cn.dujc.superkid.bean.CreateOrderResult;
import cn.dujc.superkid.bean.CupExaminePageResult;
import cn.dujc.superkid.bean.CupExamineResult;
import cn.dujc.superkid.bean.CupIndexResult;
import cn.dujc.superkid.bean.CupListResult;
import cn.dujc.superkid.bean.CurrencyResult;
import cn.dujc.superkid.bean.ExamineIndexResult;
import cn.dujc.superkid.bean.ExamineListResult;
import cn.dujc.superkid.bean.ExaminePageResult;
import cn.dujc.superkid.bean.ExamineResultsResult;
import cn.dujc.superkid.bean.ExercisesPostResult;
import cn.dujc.superkid.bean.MessageEntity;
import cn.dujc.superkid.bean.SlideEntity;
import cn.dujc.superkid.bean.TeacherResult;
import cn.dujc.superkid.bean.VIPResult;
import cn.dujc.superkid.bean.VideoExaminationResult;
import cn.dujc.superkid.bean.VideoExaminationResultsResult;
import cn.dujc.superkid.bean.VideoIndexResult;
import cn.dujc.superkid.bean.VideoListResult;
import retrofit2.Call;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.QueryMap;

/**
 * 5、首页模块
 */
public interface ApiHome {

    /**
     * 获得所有频道
     * time	是	string	时间戳
     * token	是	string	token
     */
    @GET("channel")
    public Call<Result<List<ChannelEntity>>> channel(@QueryMap QMap map);

    /**
     * 当前系统版本
     *
     * @return 版本号 有更新，每次都为强制更新
     */
    @GET("version")
    public Call<Result<String>> version(
            /*@QueryMap
                    QMap map*/);

    /**
     * 首页焦点图
     * time	是	string	时间戳
     * token	是	string	token
     */
    @GET("slide")
    public Call<Result<List<SlideEntity>>> slide(@QueryMap QMap map);

    /**
     * 获得精品教程
     * time	是	string	时间戳
     * token	是	string	token
     * channel	是	int	频道id
     * num	是	int	每页显示数量
     * page	是	int	第几页
     */
    @GET("excellentCourse")
    public Call<Result<CourseResult>> excellentCourse(@QueryMap QMap map);

    /**
     * 获得最新课程
     * time	是	string	时间戳
     * token	是	string	token
     * channel	是	int	频道id
     * num	是	int	每页显示数量
     * page	是	int	第几页
     */
    @GET("newCourse")
    public Call<Result<CourseResult>> newCourse(@QueryMap QMap map);

    /**
     * 获得vip产品
     * time	是	string	时间戳
     * token	是	string	token
     * channel	否	int	频道id （1-小学奥数，2-初中数学，3-初中物理，4-初中化学）
     * type_id	否	int	默认为1，安卓建议调用为2
     */
    @GET("vip")
    public Call<Result<List<VIPResult>>> vip(@QueryMap QMap map);

    /**
     * 教师列表
     * time	是	string	时间戳
     * token	是	string	token
     * channel	否	int	频道id
     */
    @GET("teacher")
    public Call<Result<List<TeacherResult>>> teacher(@QueryMap QMap map);

    /**
     * 研究院介绍
     * time	是	string	时间戳
     * token	是	string	token
     *
     * @return 介绍内容(含html代码)
     */
    @GET("about")
    public Call<Result<String>> about(@QueryMap QMap map);

    /**
     * 搜索页面
     * time	是	string	时间戳
     * token	是	string	token
     * keywords
     * channel
     */
    @GET("search")
    public Call<Result<CourseResult>> search(@QueryMap QMap map);

    /**
     * 联系我们
     * time	是	string	时间戳
     * token	是	string	token
     *
     * @return 介绍内容(含html代码)
     */
    @GET("contact")
    public Call<Result<ContactResult>> contact(@QueryMap QMap map);

//    /**
//     * XXX
//     */
//    @GET("xxx_xxx")
//    public Call<Result<XxxXxx>> xxxXXX(@QueryMap QMap map);

//    /**
//     * XXX
//     */
//    @FormUrlEncoded
//    @POST("xxx_xxx")
//    public Call<Result<XxxXxx>> xxxXXX(@FieldMap QMap map);

}